package cuentas;



public class CuentaCorriente implements Runnable {
	
	Thread thr;
	int nrocuenta;
	IThreadOperaciones ops;
	Ventana v;
	int cant;
	float montofinal;
	int tipo=ops.tipoOperacion();
	float monto=ops.montoOperacion();
	
public CuentaCorriente(Ventana vent, int nro, IThreadOperaciones itr){
	
	nrocuenta=nro;
	itr=ops;
	thr=new Thread(this, "Cuenta Corriente");
	thr.start();
	vent.lbl1.setText("Fin thread cuenta corriente.");
}
	
	public void run(){
		while (thr == Thread.currentThread()){
		for(int i=ops.cantidadOperaciones();i<=1;i--){
			
			Operacion op = new Operacion(nrocuenta,tipo, ops.nombreoperacion(tipo),monto);
			v.listModel1.addElement(op);
			nrocuenta++;
			cant++;
			float mota=(ops.TASA/1000)*monto;
			if(tipo==2){
				Operacion op2=new Operacion(nrocuenta,4,ops.nombreoperacion(2),mota);
				v.listModel1.addElement(op2);
			}
			try {
				thr.sleep((long) (Math.random()*ops.ESPERA_MAXIMA)+1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}	
		}
		}
			
	}

	public int getNrocuenta() {
		return nrocuenta;
	}

	public void setNrocuenta(int nrocuenta) {
		this.nrocuenta = nrocuenta;
	}

	public IThreadOperaciones getOps() {
		return ops;
	}

	public void setOps(IThreadOperaciones ops) {
		this.ops = ops;
	}
	
	public int getCant() {
		return cant;
	}


	public void setCant(int cant) {
		this.cant = cant;
	}

	public String toString(){
		
		return (Float.toString(nrocuenta+this.tipo+this.monto));
		
	}

}
